Method, electronic device, system, computer program product and circuit assembly for reducing error in video coding

ABSTRACT

A method, electronic device, computer program product, system and circuit assembly are provided for allocating one or more redundant pictures by taking into consideration the information content of the primary pictures, with which the redundant pictures would be associated. In particular, primary pictures that are determined to be more sensitive to transmission loss or corruption may be allocated one or more redundant pictures, while those that are less sensitive may not be so allocated. By selectively allocating redundant pictures to only those primary pictures that are more sensitive, the method disclosed reduces the amount of overhead associated with redundant pictures and increases the coding efficiency, without sacrificing the integrity of the video data.

CROSS-REFERENCE TO RELATED APPLICATIONS

This a continuation of pending U.S. application Ser. No. 11/549,788,filed on Oct. 16, 2006, the disclosure of which is incorporated hereinby reference in its entirety.

FIELD

In general, exemplary embodiments of the present invention relate tovideo coding and, in particular, to error resilient video coding usingredundant pictures.

BACKGROUND

In many instances, video transmission systems are prone to transmissionerrors in the form of the corruption or loss of one or more transmittedpictures or frames. The effects of transmission errors are compoundeddue to the use of motion-compensated temporal prediction or predictivecoding. Predictive coding is the process of predicting the contents ofsome, or a majority, of the image frames or pictures in a video sequencebased on the other, previous frames or pictures in the sequence.Predictive coding is advantageous because it provides high compressionefficiency. However, because pictures or frames are often used topredict subsequent pictures or frames, transmission errors not onlyaffect the decoding quality of the current picture, but are alsopropagated to the following coded pictures. This is referred to as“temporal error propagation.”

Several techniques have been developed for reducing or eliminatingtemporal error propagation. These techniques include both interactiveand non-interactive methods. Interactive methods require that therecipient transmit information about the corrupted decoded areas and/ortransport packets back to the transmitter (i.e., feedback). Wherefeedback is not possible, or preferable, non-interactive methods, suchas forward error correction (FEC) or the use of redundant pictures, maybe utilized.

The use of redundant pictures has been standardized by H.264/AVC orsimply H.264 or AVC. H.264 was developed by the joint video team (JVT)of the ISO/IEC Motion Picture Experts Group (MPEG) and the ITU-T(International Telecommunication Union, TelecommunicationsStandardization Sector) Video Coding Experts Group (VCEG).

A redundant picture is a redundant coded representation of a picture,referred to as a primary picture, or a part of a picture (e.g., one ormore macroblocks). The redundant picture may be considered the sametemporal representation of the information content of the primarypicture. Each primary coded picture may have as many as 127 redundantpictures associated therewith. If the region represented by the primarypicture is lost or corrupted due to transmission errors, a correctlyreceived redundant picture containing the same region may be used toreconstruct the region.

While the use of redundant pictures may be beneficial, it also increasesthe overhead associated with video encoding and transmission, as well asdetrimentally affects the overall coding efficiency. It would,therefore, be beneficial to derive a method of allocating fewer or noredundant pictures to one or more primary pictures in order to cut downon the number of pictures that would need to be encoded and transmitted,but without reducing or eliminating the temporal errorpropagation-reducing benefits of using redundant pictures.

One such method has been proposed to the JVT by Miska M. Hannuksela andthe named inventors of the present application (Zhu et al., Coding ofRedundant Pictures for Improved Error Resilience, Joint Video Team (JVT)of ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q.6)18th Meeting: Bangkok, Thailand, 14-20 January, 2006, hereinafter“JVT-R058”). According to the method of JVT-R058, a hierarchical methodis used for allocating redundant pictures to only certain primarypictures. In particular, for each group of pictures (GOP), a redundantpicture may be coded for the first picture in the GOP using the firstpicture of the previous GOP as a reference. In the case of the veryfirst GOP, either an intra coded redundant picture or no redundantpicture may be allocated for the first picture. According to NT-R058,the GOP may further be divided into two or more sub-GOPs, and for thefirst picture of each latter sub-GOP (i.e., each sub-GOP following thefirst sub-GOP) a redundant picture may be coded using the first pictureof the previous sub-GOP as a reference. As described above, theallocation method of JVT-R058 may be limited, however, because it isfixed, assuming that the number of pictures in a group of pictures(GOP), as well as the sub-GOP hierarchy, is fixed. In other words, thesame primary picture(s) of a GOP are allocated one or more redundantpictures in all instances.

The method of JVT-R058, therefore, does not take into consideration thefact that certain pictures of the GOP, or of the overall video sequence,may be more sensitive to transmission error or corruption. Inparticular, there are often certain pictures where the loss orcorruption of these pictures may cause more distortion to the overallvideo data than the loss or corruption of other pictures. Because ofthis, more protection should be afforded to these, more sensitive,pictures.

A need, therefore, exists for a mechanism for adaptively allocatingredundant pictures, wherein pictures that are more sensitive totransmission loss or corruption are better protected.

BRIEF SUMMARY

In general, exemplary embodiments of the present invention provide animprovement over the known prior art by, among other things, providing amethod of adaptively allocating redundant pictures according to theinformation content associated with the corresponding primary pictures.In particular, according to an embodiment of the present invention, theinformation content of a primary picture is analyzed in order todetermine how sensitive that picture is to transmission error or loss.Based on that analysis, it may be determined whether and how manyredundant pictures to associate with that primary picture. Generallyspeaking, if it is determined that the distortion that would likely becaused by loss or corruption of a particular primary picture isrelatively high (e.g., exceeds a certain threshold), one or moreredundant pictures would likely then be associated with that primarypicture. For example, in order to determine the sensitivity of theprimary picture, in one embodiment the mean absolute motion vector valueof the primary picture may be calculated. This value or metric indicateshow active the picture is, or, in other words, how great the differenceis between the primary picture and the previous picture. If it isdetermined that the mean absolute motion vector value of the primarypicture is high, indicating that the primary picture is very differentfrom the previous picture and, therefore, that loss of that particularprimary picture would likely cause a fair amount of distortion, one ormore redundant pictures may be associated with that primary picture.

In accordance with one aspect, a method is provided of reducing error inencoding video data that includes one or more primary pictures. In oneexemplary embodiment, the method includes: (1) evaluating theinformation content of at least one of the one or more primary pictures;and (2) determining, based at least in part on the information contentof the primary picture, a number of redundant picture(s) to associatewith the primary pictures. In this embodiment, the information contentof the redundant picture corresponds to the information content of theprimary picture.

In one exemplary embodiment, evaluating the information content of theprimary picture involves calculating a metric that is associated withthe information content of the primary picture and that provides anindication of a level of sensitivity of the primary picture totransmission loss or error. In order to then determine a number ofredundant picture(s) to associate with the primary picture, it may bedetermined whether the metric exceeds a particular threshold, and aredundant picture may be associated with the primary picture where themetric does exceed the threshold. In one exemplary embodiment the metricis a mean absolute motion vector value associated with the primarypicture. In another embodiment, the metric is a potential errorpropagation distortion associated with the primary picture.

In yet another exemplary embodiment, in order to evaluate theinformation content of at least one of the primary pictures, the one ormore primary pictures of the video data are grouped into one or moregroups of pictures and an estimate of the overall rate-distortionperformance of at least one of the groups of pictures is determined. Inparticular, according to one exemplary embodiment, estimating theoverall rate-distortion performance involves first determining aplurality of combinations of the groups of pictures, wherein eachcombination comprises a different association of primary pictures andredundant pictures, such that the resulting combination of primarypictures and redundant pictures differ for each combination, and thendetermining for each combination, a rate-distortion estimate. In thisexemplary embodiment, determining a number of redundant picture(s) toassociate with the primary picture may then involve selecting thecombination with the lowest rate-distortion estimate.

In one exemplary embodiment, determining a number of redundantpicture(s) to associate with the primary picture may involve determiningwhether to associate any redundant picture(s) with the primary pictureat all.

According to another aspect, an electronic device is provided that iscapable of reducing error in encoding video data that includes one ormore primary pictures. In one exemplary embodiment the electronic deviceincludes a processor and a memory in communication with the processorthat stores an application executable by the processor, wherein theapplication is configured, upon execution, to: (1) evaluate theinformation content of at least one of the one or more primary pictures;and (2) determine, based at least in part on the information content ofthe primary picture, a number of redundant picture(s) to associate withthe primary picture. In this exemplary embodiment, the informationcontent of the redundant picture corresponds to the information contentof the primary picture.

In accordance with yet another aspect, a computer program product isprovided for reducing error in encoding video data that includes one ormore primary pictures. The computer program product contains at leastone computer-readable storage medium having computer-readable programcode portions stored therein. The computer-readable program codeportions of one exemplary embodiment include: (1) a first executableportion for evaluating the information content of at least one of theone or more primary pictures; and (2) a second executable portion fordetermining, based at least in part on the information content of theprimary picture, a number of redundant picture(s) to associate with theprimary picture, wherein the information content of the redundantpicture corresponds to the information content of the primary picture.

In accordance with another aspect, a system is provided for reducingerror in encoding video data that includes one or more primary pictures.In one exemplary embodiment, the system includes: (1) a means forevaluating the information content of at least one of the one or moreprimary pictures; and (2) a means for determining, based at least inpart on the information content of the primary picture, a number ofredundant picture(s) to associate with the primary picture, wherein theinformation content of the redundant picture corresponds to theinformation content of the primary picture.

According to yet another aspect, a circuit assembly is provided forreducing error in encoding video data that includes one or more primarypictures. In one exemplary embodiment, the circuit assembly includes:(1) a first logic element for evaluating the information content of atleast one of the one or more primary pictures; and (2) a second logicelement for determining, based at least in part on the informationcontent of the primary picture, a number of redundant picture(s) toassociate with the primary picture, wherein the information content ofthe redundant picture corresponds to the information content of theprimary picture.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)

Having thus described exemplary embodiments of the invention in generalterms, reference will now be made to the accompanying drawings, whichare not necessarily drawn to scale, and wherein:

FIG. 1 is a flow chart illustrating the steps which may be taken inorder to determine for which primary pictures to include one or moreredundant pictures, in accordance with exemplary embodiments of thepresent invention;

FIG. 2 is a flow chart illustrating the steps which may be taken inorder to determine for which primary pictures to include one or moreredundant pictures, in accordance with another embodiment of the presentinvention;

FIG. 3 illustrates the structure of a group of pictures (GOP) accordingto one exemplary embodiment of the present invention;

FIGS. 4-6 provide experimental results obtained when testing exemplaryembodiments of the present invention;

FIGS. 7-10 illustrate the average peak signal-to-noise ratio (“PSNR”)vs. packet loss rate curve under different bitrate constraints for oneapplication testing performed in accordance with exemplary embodimentsof the present invention;

FIGS. 11-16 illustrate the average decoded PSNR vs. bitrate curve under10% and 20% packet loss rates, respectively, for a second applicationtesting performed in accordance with exemplary embodiments of thepresent invention.

FIG. 17 is a schematic block diagram of an entity capable of reducingerror in encoding video data in accordance with exemplary embodiments ofthe present invention; and

FIG. 18 is a schematic block diagram of an electronic device capable ofoperating in accordance with an exemplary embodiment of the presentinvention.

DETAILED DESCRIPTION

Exemplary embodiments of the present invention now will be describedmore fully hereinafter with reference to the accompanying drawings, inwhich some, but not all embodiments of the inventions are shown. Indeed,exemplary embodiments of the invention may be embodied in many differentforms and should not be construed as limited to the embodiments setforth herein; rather, these embodiments are provided so that thisdisclosure will satisfy applicable legal requirements. Like numbersrefer to like elements throughout.

Overview:

In general, exemplary embodiments of the present invention provide amethod of allocating one or more redundant pictures that takes intoconsideration the information content of the primary pictures, withwhich the redundant pictures would be associated. In particular,according to exemplary embodiments, primary pictures that are determinedto be more sensitive to transmission loss or corruption are allocatedone or more redundant pictures, while those that are less sensitive mayonly be allocated a smaller number of redundant pictures or none at all.By selectively allocating redundant pictures by taking intoconsideration the sensitivity of the primary pictures, the method ofexemplary embodiments of the present invention reduces the amount ofoverhead associated with redundant pictures and increases the codingefficiency, without sacrificing the integrity of the video data.

The “sensitivity” of the primary picture refers, generally, to theestimated breadth or extent of the consequences were the primary pictureto be lost or corrupted. According to one exemplary embodiment, theextent of the consequences, or the likely distortion that would resultfrom loss of a particular picture, may be calculated directly bycalculating the potential error propagation distortion of each primarypicture. Alternatively, the consequences or likely distortion may beestimated based on how similar the particular picture is to the previouspicture transmitted (and received). This alternative embodiment is basedon the fact that one method of responding to the loss or corruption of aprimary picture is to replace the lost or corrupted picture with theprevious picture received. If the lost or corrupted picture was verysimilar to the previous picture, then the resulting distortion in theoverall video data would be minimal. In contrast, if the differencebetween the primary and previous picture is great, the resultingdistortion may be much greater.

In yet another exemplary embodiment, an overall estimated distortion maybe calculated for a group of pictures (GOP) including one or moreprimary pictures. In this embodiment, an estimated rate distortion maybe calculated for each of a plurality of different combinations ofprimary pictures of the GOP having redundant pictures and primarypictures not having redundant pictures (e.g., all primary pictures inthe GOP allocated a redundant picture, no primary pictures in the GOPallocated a redundant picture, only the first primary picture in the GOPallocated a redundant picture, etc.). The desired combination may thenbe selected based on the estimated rate distortion, such as by selectingthe combination having the lowest estimated rate-distortion.

Methods of Allocating Redundant Pictures

FIGS. 1 and 2 are flow charts that illustrate a method of allocatingredundant pictures in accordance with exemplary embodiments of thepresent invention. As shown, the general method of embodiments of thepresent invention includes two steps. The first step, Step 1, is toevaluate the information content of the primary picture. In particular,the information content may be analyzed in order to determine a level ofsensitivity to transmission loss or corruption associated with theprimary picture. Once the information content has been evaluated, adetermination can be made, in Step 2, as to how many redundant picturesto associate with the primary picture, based at least in part on theinformation content. Stated very generally, in one exemplary embodiment,the more sensitive the picture is to transmission loss or corruption,the more likely one or more redundant pictures will be allocated to thatpicture. In one exemplary embodiment, Step 2 may involve determiningwhether to associate any redundant pictures with the primary picture atall (i.e., the number of redundant pictures to be associated with theprimary picture may be zero).

Also shown in FIGS. 1 and 2, respectively, are two more specific methodsfor allocating redundant pictures based on the more general stepsdescribed above. As one of ordinary skill in the art will recognize,however, these more specific methods are provided for exemplary purposesonly and should not be taken as limiting the scope of exemplaryembodiments of the invention in any way. Other similar methods ofevaluating the information content of a picture in order to determinewhether and how many redundant pictures to include may similarly be usedwithout departing from the spirit and scope of exemplary embodiments ofthe present invention.

Adaptive Redundant Picture Allocation Based on Sensitivity Metric

Referring to FIG. 1, according to exemplary embodiments, the generalstep of evaluating the information content of the primary picture (Step1) may include calculating a metric associated with the informationcontent of the primary picture that provides an indication of the levelof sensitivity of the primary picture to transmission loss or corruption(Step 101). Once the metric has been calculated, the general step ofdetermining how many redundant pictures to associate with the primarypicture (Step 2) may involve comparing the calculated metric to apredefined threshold value (Step 102A) in order to determine whether themetric exceeds the threshold value (Step 102B). If the metric exceedsthe threshold value, indicating that the primary picture is sensitive totransmission loss or corruption, one or more redundant pictures may thenbe associated with the primary picture (Step 102C). Alternatively, if itis determined that the calculated metric does not exceed this predefinedthreshold, no or a fewer number of redundant pictures may be associatedwith the primary picture (Step 102D).

While not shown, in one exemplary embodiment, if it is determined, inStep 102B, that the metric exceeds the predefined threshold and,therefore, that one or more redundant pictures should be associated withthe primary picture, one or more further steps may then be performed inorder to determine exactly how many redundant pictures should beincluded. For example, the calculated metric may subsequently becompared to another, larger threshold value, wherein if the metric islarger than the second, larger threshold value, this provides anindication that the primary picture is particularly sensitive totransmission loss or corruption and, therefore, may require a largernumber of redundant pictures. This step may be repeated any number oftimes, increasing the value of the predefined threshold each time, whereit is desirable to associate multiple redundant pictures with theprimary picture. Alternatively, a set number of redundant pictures(e.g., one) may be automatically associated with the primary picture ifthe calculated metric exceeds the first predefined threshold.

In one exemplary embodiment, the metric that is calculated may comprisethe mean absolute motion vector value (hereinafter the “motion vectorvalue”) of the primary picture. In general, the motion vector valueindicates how “active” the particular picture is. In other words, themotion vector value provides an indication of how much or to what extentthe primary picture differs from the previous picture. A large motionvector value indicates that the primary picture is active and,therefore, is very different from the previous picture. Because lost orcorrupted pictures, that do not have a redundant picture, are replacedby the previous picture, in most instances, the distortion caused byloss or corruption of a primary picture having a large motion vectorvalue is large, since replacing it with the previous picture is lesseffective. As a result, the motion vector value provides a goodindication of the level of sensitivity of the primary picture totransmission loss or corruption. In one exemplary embodiment,calculating the mean absolute motion vector value involves averaging theabsolute motion vector value for all of the 4×4 blocks of the codedprimary picture, e.g., according to the following equation:

$\begin{matrix}{\overset{\_}{MV} = {{\sum\limits_{i - 0}^{N - 1}{{MVX}_{i}}} + {{MVY}_{i}}}} & (1)\end{matrix}$where MV denotes the mean absolute motion vector, N is the total numberof 4×4 blocks of the coded primary picture, and MVX_(i) and MVY_(i),respectively, are the horizontal and vertical components of the motionvector of the i-th block.

In another exemplary embodiment, the metric that is calculated maycomprise the potential error propagation distortion. While thisembodiment may require performing a slightly more complicatedcalculation than the previous embodiment, as shown below, the potentialerror propagation distortion provides a more direct, and possibly moreaccurate, indication of the level of sensitivity of the primary picture.

One method of computing the potential error propagation distortion wasproposed by Yuan Zhang, Wen Gao, Huifang Sun, Qingming Huang and Yan Luin “Error Resilient Video Coding in H.264 Encoder With PotentialDistortion Tracking,” 2004 International Conference on Image Processing,Volume 1, pp. 163-166, 24-27 October 2004 (hereinafter “Zhang, et al.”).

As specified in Zhang, et al., the overall distortion of a block of datain the primary picture D_(d) can be represented by:D _(d)=(1−p)(D _(s) +D _(r))+pD _(c)  (2)where p denotes an estimated packet loss rate, D_(s) denotes the sourcecoding distortion that is independent of transmission errors, D_(r)denotes the distortion introduced by an erroneous reference picture, andD_(c) denotes the concealment distortion. D_(c) in equation (2) denoteserror concealment distortion. For example, if the decoder concealmentmethod is frame copy, then D_(c) is:D _(c)=Σ(f _(curr) _(rec) −f _(prev) _(_) _(rec))²  (3)where f_(curr) _(_) _(rec) is the reconstructed pixel of the currentblock, and f_(prev) _(_) _(rec) is the reconstructed pixel at acorresponding position in the previous frame. D_(r) in equation (2) wasdefined in Zhang, et al. as the following:

$\begin{matrix}{D_{r} = {\sum\limits_{m = 1}^{4}{w^{m}D_{p}^{m}}}} & (4)\end{matrix}$where D_(p) ^(m) is the error propagated distortion of the m-threference block of the current block, and w^(m) denotes a weightingfactor applied to each reference block according to the overlapped areapointed to by the motion vector (MV_(x),MV_(y)) of the current block.The D_(p) ^(m) in equation (4) denotes the error propagated distortionD_(p) of the m-th reference block. The D_(p) of the current block iscalculated by:D _(p)=(1−p)D _(r) +p(D _(c) +D _(p)′)  (5)where D_(p)′ is the D_(p) of the block in a previous frame used forconcealing the current block. D_(p) in equation (5) can be considered asa potential error propagated distortion and indicates the errorpropagation feature of a block. Frames with larger average D_(p) aremore sensitive to transmission errors. These frames should, therefore,be specially protected against errors. Thus according to one exemplaryembodiment, D_(p), can be used as a measurement to allocate redundantpictures.

To calculate D_(p) and to allocate redundant pictures, the encoder ofone exemplary embodiment may follow the following steps. First thepotential error propagation distortion D_(p) of the first frame of asequence may be set to zero (i.e., D_(p)=0). Next, D_(p) can becalculated for each block. In particular, if the primary picture is thefirst picture in a group of pictures (GOPs), also referred to as the keypicture, and if the key picture is intra coded, then D_(r) is zero(D_(r) of intra blocks in any frame must be zero) and the potentialerror propagation distortion is calculated based on the followingequation:D _(p) =p(D _(c) +D _(p)′)  (6)

After encoding a whole frame, the D_(p) of all blocks can then beaveraged and the average compared with a threshold D_(T). IfD_(p)>D_(T), it may be determined to encode one or more redundantpicture(s) for the primary picture. Otherwise, no redundant pictures maybe encoded for the primary picture. If at least one redundant picture isencoded, D_(p) for the subsequent frame:D _(p)=(1−p)D _(p) _(_) _(primary) +p(1−p)D _(p-redundant) +p ²(D _(c)+D _(p)′)  (7)where D_(p) _(_) _(primary) is the D_(p) of the primary picture andD_(p-redundant) is the D_(p) of the redundant picture.

Preferably, the coded redundant picture uses the previous key picture(i.e., the first picture of the previous GOP when the primary picture isa key picture, or the first picture of the current GOP when the primarypicture is not a key picture) in decoding order, for inter predictionreference. Alternatively, the coded redundant picture may use theprevious primary picture with a redundant picture for inter predictionreference.

Adaptive Redundant Picture Allocation Based on Optimized Overall RateDistortion

Referring to FIG. 2, another exemplary method is illustrated forevaluating the information content of the primary picture anddetermining, based at least in part on the information content, a numberof redundant picture(s) to associate with the primary picture. Ingeneral, according to this exemplary embodiment, in order to evaluatethe information content of the primary picture, the one or more primarypictures of the video data are first divided into one or more groups ofpictures (GOPs) (Step 201A). Next, in Step 201B, a plurality ofdifferent combinations of at least one of the GOPs are formed, whereineach combination includes a different association of primary picturesand redundant pictures. For example in one combination of pictures ofthe GOP, each of the primary pictures has one or more redundant picturesassociated therewith. Alternatively, in another combination none of theprimary pictures have a redundant picture associated therewith. In othercombinations any number and combination of primary pictures may have oneor more redundant pictures associated therewith with each combinationbeing different as noted above. For example, in a GOP having first andsecond images designated I₁ and I₂. One combination would be to have aprimary picture of both I₁ and I₂, but no redundant pictures of eitherI₁ or I₂. A second combination would be to have a primary picture ofboth I₁ and I₂, a single redundant picture of I₁ and no redundantpictures of I₂. A third combination would be to have a primary pictureof both I₁ and I₂, a single redundant picture of I₂ and no redundantpictures of I₁. A fourth combination would be to have a primary pictureof both I₁ and I₂, two redundant pictures of I₁ and no redundant pictureof I₂. A fifth combination would be to have a primary picture of both I₁and I₂, two redundant pictures of I₁ and a single redundant picture ofI₂. Additional combinations could also be created with each having adifferent number of redundant pictures for I₁ and I₂.

Once the various combinations have been determined, an estimate of theoverall rate-distortion performance may then be calculated for eachcombination (Step 201C). Finally, in order to determine a number ofredundant picture(s) to associate with at least one primary picture(Step 2), a combination is selected based upon the overall estimatedrate-distortion performance. For example, the combination having thelowest overall estimated rate-distortion performance may be selected, inStep 202, thereby providing an optimized overall rate-distortion for theGOP.

The following describes this embodiment in more detail and, inparticular, how the overall estimated rate-distortion performance foreach combination may be calculated according to one exemplary embodimentof the present invention.

Rate-Distortion Models for Different Coding Modes

Assuming that there are two coding modes for each primary picture of aGOP. The first mode (hereinafter “mode 1”) represents “not to code aredundant picture,” while the second mode (hereinafter “mode 2”)represents “to code a redundant picture.” The total rate-distortion cost(hereinafter “RD-cost”) of all the latter frames within one GOP (i.e.,all of the frames in a GOP following the current primary picture) forthe two modes can be represented by:RDcost(mode1)=D ₁ +λR ₁RDcost(mode2)=D ₂ +λR ₂  (8)where D₁and D₂ denote the total end-to-end distortion of all the framesafter the current primary picture in the same GOP for modes one and two,respectively. R₁ and R₂ are the total bits of latter frames for modesone and two, respectively, and λ represents the Lagrange multiplier asdescribed.

Therefore, the mode decision problem can be represented by:mode*=argmin[RDcost(mode)]  (9)where mode* denotes the best coding mode. This means that if thefollowing holds,RDcost(mode1)>RDcost(mode2)  (10)then a redundant picture will be coded for the primary picture;otherwise, no redundant picture will be coded.

From equations (8), (9) and (10), mode 2 will be selected only if:D ₁ −D ₂>λ(R ₂ −R ₁)  (11)

In other words, a redundant picture will be coded where equation (11) istrue. Note that,R ₂ −R ₁ =R _(rp)  (12)where R_(rp) denotes the number of coded bits of a correspondingredundant picture. Finally, the mode selection condition is:D ₁ −D ₂ >λR _(rp)  (13)Distortion Computation and RDO-ARP Allocation

Referring to FIG. 3, the structure of a GOP is illustrated. As shown,the key frame K_(i) of current GOP uses the key frame K_(i−1) of thelast GOP as a reference. As one of ordinary skill in the art willrecognize, it is also possible for the key frame to use other frames asa reference. Assuming that a primary picture P_(m) in GOP i is now beingcoded, and that the frame number of the current primary frame is m, theGOP length is L, the frame number of each inter-frame in the GOP is in arange from 1 to L−1; then, the mode decision problem that arises iswhether to code a redundant picture for P_(m) or not.

The total end-to-end distortion D_(total) from primary frame P_(m) toP_(L−1) within one GOP can be calculated by:

$\begin{matrix}{D_{total} = {{\sum\limits_{i = m}^{L - 1}{D_{d}(i)}} = {\sum\limits_{i - m}^{L - 1}\left\{ {{\left( {1 - p} \right)\left\lbrack {{D_{s}(i)} + {D_{r}(i)}} \right\rbrack} + {{pD}_{c}(i)}} \right\}}}} & (14)\end{matrix}$where D_(d)(i) denotes the end-to-end distortion of i-th frame in theGOP, and D_(s)(i), D_(r)(i) and D_(c)(i) are all of the i-th frame.Assuming that the error concealment algorithm used at the decoder isframe copy, from equation (5) above, then:D _(p)(i)=(1−p)D _(r)(i)+p[D _(c)(i)+D _(p)(i−1)]  (15)and D_(total) is:

$\begin{matrix}{D_{total} = {\sum\limits_{i = m}^{L - 1}\left\lbrack {{\left( {1 - p} \right){D_{s}(i)}} + {D_{p}(i)} - {{pD}_{p}\left( {i - 1} \right)}} \right\rbrack}} & (16)\end{matrix}$However, for any i>m, because D_(p)(i) cannot be obtained due to theencoding order, it must be estimated.

In the following it is demonstrated that D_(p)(i) approximately linearlyincreases as the prediction chain grows within one GOP, when a fewblocks of each frame are intra coded. FIGS. 4 through 6 illustrate theexperimental results obtained from the test sequence named Foreman. Thex-coordinates of FIGS. 4 through 6 denote the frame number in a GOP, andthe y-coordinates denote the averaged D_(p) (in Mean Squared Error(“MSE”)) of each frame. The estimated packet loss rate was 10%. The GOPlength was set to 15 frames for FIG. 4 (which illustrates the results offive different GOPs), 75 frames for FIG. 5, and 150 frames for FIG. 6.As can be seen, for a small size of GOP, the error propagation isapproximately linearly increased.

So assuming the length of GOP is limited and few blocks are intra coded,then:D _(p)(i+1)=D _(p)(i)+D _(delta)  (17)where D_(delta) is a constant for all possible values of i. The constantonly depends on the estimated packet loss rate and the characteristicsof the input video sequence. Therefore:

$\begin{matrix}{D_{total} = {{\sum\limits_{i - m}^{L - 1}{\left( {1 - p} \right){D_{s}(i)}}} + {\left\lbrack {\left( {L - m} \right) - {p\left( {L - m - 1} \right)}} \right\rbrack{D_{p}(m)}} - {{pD}_{p}\left( {m - 1} \right)} + {{\frac{1}{2}\left\lbrack {{\left( {L - m} \right)\left( {L - m - 1} \right)} - {{p\left( {L - m - 1} \right)}\left( {L - m - 2} \right)}} \right\rbrack}D_{delta}}}} & (18)\end{matrix}$As a result, D₁ and D₂ are expressed as follows, in the same form asD_(total):

$\begin{matrix}{{D_{1} = {{\sum\limits_{i - m}^{L - 1}{\left( {1 - p} \right){D_{s}(i)}}} + {\left\lbrack {\left( {L - m} \right) - {p\left( {L - m - 1} \right)}} \right\rbrack{D_{p\; 1}(m)}} - {{pD}_{p\; 1}\left( {m - 1} \right)} + {{\frac{1}{2}\left\lbrack {{\left( {L - m} \right)\left( {L - m - 1} \right)} - {{p\left( {L - m - 1} \right)}\left( {L - m - 2} \right)}} \right\rbrack}D_{delta}}}}{and}} & (19) \\{D_{2} = {{\sum\limits_{i - m}^{L - 1}{\left( {1 - p} \right){D_{s}(i)}}} + {\left\lbrack {\left( {L - m} \right) - {p\left( {L - m - 1} \right)}} \right\rbrack{D_{p\; 2}(m)}} - {{pD}_{p\; 2}\left( {m - 1} \right)} + {{\frac{1}{2}\left\lbrack {{\left( {L - m} \right)\left( {L - m - 1} \right)} - {{p\left( {L - m - 1} \right)}\left( {L - m - 2} \right)}} \right\rbrack}D_{delta}}}} & (20)\end{matrix}$where D_(p1)(m) and D_(p2)(m) denote the error propagated distortion ofthe m-th frame in a GOP for mode 1 and mode 2, respectively. For mode 1,D_(p1)(m) is just the error propagated distortion of the current primarypicture, while D_(p2)(m) must be the sum of error propagated distortionof the current primary picture and a corresponding redundant pictureaccording to equation (7). So,D _(p1)(m)=D _(p) _(_) _(primary)(m)D _(p2)(m)=(1−p)D _(p) _(_) _(primary)(m)+p(1−p)D _(p-redundant)(m)+p²(D _(c) +D _(p))  (21)On the other hand, for an earlier frame P_(m−1),D _(p2)(m−1)=D _(p1)(m−1)  (22)Then, from equations (19), (20), (21) and (22), one gets:D ₁ −D ₂=[(L−m)−p(L−m−1)][pD _(p-primary) −p(1−p)D _(p-redundant) −p ²(D_(c) +D _(p)′)]  (23)

Finally, the mode decision of equation (11) depends on the value of thefollowing inequation:p[(L−m)−p(L−m−1)][D _(p) _(_) _(primary)(m)−(1−p)D _(p) _(_)_(redundant)(m)−p(D _(c) +D _(p)′)]>λR _(rp)  (24)

That means that if equation (24) is true, a redundant picture may becoded for the corresponding primary picture; else, no redundant pictureshould be coded.

Lagrange Multiplier Selection

As in equation (8) above, the cost of each mode can be calculated by:Cost=D+λR  (25)where Cost denotes the rate-distortion cost, D denotes the estimateddistortion, R denotes the estimated coding rate, and λ is the Lagrangemultiplier. Further combining equations (18) and (25), and letting thederivative of Cost to R be zero, then:

$\begin{matrix}{\lambda = {{- \frac{dD}{dR}} = {{- {\sum\limits_{i = m}^{L - 1}{\left( {1 - p} \right)\frac{{dD}_{s}}{dR}}}} = {\left( {1 - p} \right)\left( {L - m} \right)\lambda_{o}}}}} & (26)\end{matrix}$where λ_(o) is the Lagrange multiplier in an error free environment. TheLagrange multiplier in an error free environment for H.264/AVC isdefined as:

$\begin{matrix}{\lambda_{o} = {0.85 \cdot 2^{\frac{q}{3}}}} & (27)\end{matrix}$where q denotes the quantization parameter.

This derivation yields some insight into the selection of the Lagrangeparameter in the error-prone transmission environment for codingredundant pictures. The packet loss rate p must be estimated at theencoder side. How the packet loss rate p is estimated is out of thescope of exemplary embodiments of this invention. As p increases, λdecreases and therefore, the cost of coding a redundant picturedecreases. As a result, more redundant pictures should be coded.

Simulations Performed to Show Performance of Exemplary Embodiment

In order to illustrate the performance of the foregoing exemplaryembodiments of the invention, a few simulations have been performed. Thefollowing provides a quick description of the simulation conditions. Thetested methods were implemented in the H.264 reference software, namedJoint Model (JM), version 10.2. In addition, test conditions common tothose described in S. Wenger, “Common Conditions for Wire-Line, LowDelay IP/UDP/RTP Packet Loss Resilient Testing,” ITU-T VCEGN79rl,September 2001, were applied. A fixed packet size of 1400 bytes wasused. All pictures of a sequence were encoded once, and the resultingpacket stream was concatenated in order to fulfill a 4000 picturesrequirement. The numerically lowest constant quantization parameter wasused for the entire sequence that stays within the bit rate constraints.

The tests were performed using two coding modes of sequences: A) codingwith periodic intra-coded key pictures and B) coding with a firstintra-coded picture and the rest being inter-coded pictures. The twocoding modes were targeted for two different application scenarios. Oneapplication scenario (referred to hereinafter as “Application A”) wasfor applications such as broadcast and video conferences, for whichfrequent random access points must be provided for newcomers to join in.Periodic intra-frames were coded for this case. The second applicationscenario (referred to hereinafter as “Application B”) represented theapplications for which intra-coded pictures with a large number of bitscannot be inserted frequently, to allow for smooth bit rate that affectsrequired buffer size and end-to-end delay. In this set of simulations,all pictures except the very first picture were inter-coded under theseconstraints.

The error concealment for all testing cases was Frame copy. Constrainedintra prediction was used for all the cases including exemplaryembodiments of the present invention and the baseline. Each picture of asequence used one reference picture. Loss-Aware Rate DistortionOptimization (LA-RDO), which is a flexible and robust rate-optimizationtechnique for H.264/AVC coding to select coding mode and reference framefor each macroblock where the channel statistics are included in theoptimization process, was used as the baseline. Exemplary embodiments ofthe invention including Adaptive allocation of Redundant Pictures (ARP)using the mean absolute motion vector value, and Rate-DistortionOptimized Adaptive allocation of Redundant Pictures (RDO-ARP) werecompared with the baseline. Repeated Redundant Pictures (RRP), whichmeans a redundant picture is just a copy or repetition of thecorresponding primary picture, and Hierarchically allocated RedundantPictures (HRP), which was specified in JVT-R058, were also tested andcompared.

LA-RDO was optimized for target packet loss rate of 5% and number ofdecoders of 30. For HRP, ARP and RDO-ARP, the key picture (also thestart picture) of each GOP was intra-coded or inter-coded referencingthe key picture of the last GOP, and the redundant picture of the keypicture always used the key picture of the last GOP as a reference. ForARP and RDO-ARP, all redundant pictures, except the redundant picture ofthe key picture, used the key picture of the same GOP as a reference.Other primary pictures used the latest coded picture as a reference. ForHRP, ARP, RDO-ARP and RRP, the GOP length for testing sequence News QCIF(Quarter Common Intermediate Format—a videoconferencing format thatspecifies a video sequence with each frame containing 144 lines and 176pixels per line) was 10; for Foreman QCIF the GOP length was 15; and forParis CIF (Common Intermediate Format—a videoconferencing format thatspecifies a video sequence with each frame containing 288 lines and 352pixels per line) the GOP length was 15.

The coarsely quantized RDO-ARP (RDO-ARP CQ), differed from RDO-ARP onlyin that redundant pictures were coarsely quantized in comparison toprimary pictures. The quantization parameter (QP) value for redundantpicture, denoted as OPr was equal to QPp+6, where QPp was the QP valueof primary pictures. RDO-ARP with non-fixed GOP length (RDOARP_no_GOP)was also tested. For this case, a redundant picture was coded accordingto equation (24) with L equal to the number of primary pictures in awhole sequence. Any redundant picture in this case uses the previousprimary picture, for which a redundant picture was coded as a reference.All testing cases were performed under 3%, 5%, 10% and 20% packet lossrates.

The results of the foregoing simulations are shown in FIGS. 7 through16. FIGS. 7 through 9 illustrate the average decoded peaksignal-to-noise ratio (“PSNR”) vs. packet loss rate curve underdifferent bitrate constraints for application A. FIGS. 11 through 16illustrate the average decoded PSNR vs. bitrate curve under 10% and 20%packet loss rates respectively for application B. In particular, FIG. 7illustrates the average PSNR (dB) vs. packet loss rate (%) for testingsequence News QCIF at 10 fps and 48 kbps for application A. The meanabsolute value of motion vectors threshold chosen for MAM-encoding was2.0. The threshold chosen for ARP-encoding was 14.0 at 10% estimatedpacket loss rate.

FIG. 8 illustrates the average PSNR (dB) vs. packet loss rate (%) fortesting sequence Foreman QCIF at 7.5 fps and 64 kbps for application A.The mean absolute value of motion vectors threshold chosen forMAM-encoding was 5.0. The threshold chosen for ARPencoding was 32.0 at10% estimated packet loss rate. FIG. 9 illustrates the average PSNR (dB)vs. packet loss rate (%) for testing sequence Foreman QCIF at 7.5 fpsand 144 kbps for application A. The mean absolute value of motionvectors threshold chosen for MAM-encoding was 5.0. The threshold chosenfor ARP-encoding was 22.0 at 10% estimated packet loss rate. Finally,FIG. 10 illustrates the average PSNR (dB) vs. packet loss rate (%) fortesting sequence Paris CIF at 15 fps and 384 kbps for application A. Themean absolute value of motion vectors threshold chosen for MAM-encodingwas 1.2. The threshold chosen for ARP-encoding was 9.0 at 10% estimatedpacket loss rate.

Turning now to Application B, FIGS. 11 and 12 illustrate the AveragePSNR (dB) vs. bit rate (Kbps) for testing sequence Foreman QCIF atpacket loss rates of 10% and 20%, respectively, for application B. FIGS.13 and 14 illustrate the average PSNR (dB) vs. bit rate (Kbps) fortesting sequence News QCIF at packet loss rates of 10% and 20%,respectively, for application B. Finally, FIGS. 15 and 16 illustrate theaverage PSNR (dB) vs. bit rate (Kbps) for testing sequence Paris CIF atpacket loss rates of 10% and 20%, respectively, for application B.

As can be seen from the simulation results, the proposed redundantpicture coding and allocation algorithms of exemplary embodiments of thepresent invention outperform other methods in error-prone environments.

Overall System and Mobile Device:

Referring now to FIG. 17, a block diagram of an entity capable ofreducing error in encoding video data using one of the exemplary methodsdescribed above is shown in accordance with one embodiment of thepresent invention. The entity capable of evaluating the informationcontent of a primary picture, for example in one of the mannersdescribed above, and of determining a number of redundant picture(s) toassociate with the primary picture, based at least in part on theinformation content of the primary picture, includes various means forperforming one or more functions in accordance with exemplaryembodiments of the present invention, including those more particularlyshown and described herein. It should be understood, however, that oneor more of the entities may include alternative means for performing oneor more like functions, without departing from the spirit and scope ofthe present invention. As shown, the entity capable of selecting forwhich primary pictures one or more redundant picture(s) should beencoded can generally include means, such as a processor 210 or otherlogic elements connected to a memory 220, for performing or controllingthe various functions of the entity. The memory can comprise volatileand/or non-volatile memory, and typically stores content, data or thelike. For example, the memory typically stores content transmitted from,and/or received by, the entity. Also for example, the memory typicallystores software applications, instructions or the like for the processorto perform steps associated with operation of the entity in accordancewith embodiments of the present invention.

In addition to the memory 220, the processor 210 can also be connectedto at least one interface or other means for displaying, transmittingand/or receiving data, content or the like. In this regard, theinterface(s) can include at least one communication interface 230 orother means for transmitting and/or receiving data, content or the like,as well as at least one user interface that can include a display 240and/or a user input interface 250. The user input interface, in turn,can comprise any of a number of devices allowing the entity to receivedata from a user, such as a keypad, a touch display, a joystick or otherinput device.

Reference is now made to FIG. 18, which illustrates one type ofelectronic device that would benefit from embodiments of the presentinvention. As shown, the electronic device may be a mobile station 10,and, in particular, a cellular telephone. It should be understood,however, that the mobile station illustrated and hereinafter describedis merely illustrative of one type of electronic device that wouldbenefit from the present invention and, therefore, should not be takento limit the scope of the present invention. While several embodimentsof the mobile station 10 are illustrated and will be hereinafterdescribed for purposes of example, other types of mobile stations, suchas personal digital assistants (PDAs), pagers, laptop computers, as wellas other types of electronic systems including both mobile, wirelessdevices and fixed, wireline devices, can readily employ embodiments ofthe present invention.

The mobile station includes various means for performing one or morefunctions in accordance with exemplary embodiments of the presentinvention, including those more particularly shown and described herein.It should be understood, however, that one or more of the entities mayinclude alternative means for performing one or more like functions,without departing from the spirit and scope of the present invention.More particularly, for example, as shown in FIG. 18, in addition to anantenna 302, the mobile station 10 includes a transmitter 304, areceiver 306, and means, such as a processing device 308, e.g., aprocessor, controller or other logic elements, that provides signals toand receives signals from the transmitter 304 and receiver 306,respectively. These signals include signaling information in accordancewith the air interface standard of the applicable cellular system andalso user speech and/or user generated data. In this regard, the mobilestation can be capable of operating with one or more air interfacestandards, communication protocols, modulation types, and access types.More particularly, the mobile station can be capable of operating inaccordance with any of a number of second generation (2G), 2.5G and/orthird-generation (3G) communication protocols or the like. Further, forexample, the mobile station can be capable of operating in accordancewith any of a number of different wireless networking techniques,including Bluetooth, IEEE 802.11 WLAN (or Wi-Fi®), IEEE 802.16 WiMAX,ultra wideband (UWB), and the like.

It is understood that the processing device 308, such as a processor,controller, computing device or other logic elements, includes thecircuitry required for implementing the video, audio, and logicfunctions of the mobile station and is capable of executing applicationprograms for implementing the functionality discussed herein. Forexample, the processing device may be comprised of various meansincluding a digital signal processor device, a microprocessor device,and various analog to digital converters, digital to analog converters,and other logic elements. The control and signal processing functions ofthe mobile device are allocated between these devices according to theirrespective capabilities. The processing device 308 thus also includesthe functionality to convolutionally encode and interleave message anddata prior to modulation and transmission. Further, the processingdevice 308 may include the functionality to operate one or more softwareapplications, which may be stored in memory. For example, the controllermay be capable of operating a connectivity program, such as aconventional Web browser. The connectivity program may then allow themobile station to transmit and receive Web content, such as according toHTTP and/or the Wireless Application Protocol (WAP), for example.

The mobile station may also comprise means such as a user interfaceincluding, for example, a conventional earphone or speaker 310, amicrophone 314, a display 316, all of which are coupled to thecontroller 308. The user input interface, which allows the mobile deviceto receive data, can comprise any of a number of devices allowing themobile device to receive data, such as a keypad 318, a touch display(not shown), a microphone 314, or other input device. In embodimentsincluding a keypad, the keypad can include the conventional numeric(0-9) and related keys (#, *), and other keys used for operating themobile station and may include a full set of alphanumeric keys or set ofkeys that may be activated to provide a full set of alphanumeric keys.Although not shown, the mobile station may include a battery, such as avibrating battery pack, for powering the various circuits that arerequired to operate the mobile station, as well as optionally providingmechanical vibration as a detectable output.

The mobile station can also include means, such as memory including, forexample, a subscriber identity module (SIM) 320, a removable useridentity module (R-UIM) (not shown), or the like, which typically storesinformation elements related to a mobile subscriber. In addition to theSIM, the mobile device can include other memory. In this regard, themobile station can include volatile memory 322, as well as othernon-volatile memory 324, which can be embedded and/or may be removable.For example, the other non-volatile memory may be embedded or removablemultimedia memory cards (MMCs), secure digital (SD) memory cards, MemorySticks, EEPROM, flash memory, hard disk, or the like. The memory canstore any of a number of pieces or amount of information and data usedby the mobile device to implement the functions of the mobile station.For example, the memory can store an identifier, such as aninternational mobile equipment identification (IMEI) code, internationalmobile subscriber identification (IMSI) code, mobile device integratedservices digital network (MSISDN) code, or the like, capable of uniquelyidentifying the mobile device. The memory can also store content. Thememory may, for example, store computer program code for an applicationand other computer programs. For example, in one embodiment of thepresent invention, the memory may store computer program code forevaluating the information content of a primary picture (e.g., bycalculating the mean absolute motion vector value or the potential errorpropagation distortion of the particular primary picture, or bycalculating the overall rate-distortion performance of variouscombinations of a group of pictures), and for determining a number ofredundant pictures to associate with the primary picture based at leastin part on the information content of the primary picture.

While the method, electronic device, computer program product, systemand circuit assembly of exemplary embodiments of the present inventionwere described above in conjunction with mobile communicationsapplications, it should be understood, that the method, electronicdevice, computer program product, system and circuit assembly ofembodiments of the present invention can be utilized in conjunction witha variety of other applications, both in the mobile communicationsindustries and outside of the mobile communications industries. Forexample, the method, electronic device, computer program product, systemand circuit assembly of exemplary embodiments of the present inventioncan be utilized in conjunction with wireline and/or wireless network(e.g., Internet) applications.

CONCLUSION

As described above and as will be appreciated by one skilled in the art,embodiments of the present invention may be configured as a method,electronic device, system and circuit assembly. Accordingly, embodimentsof the present invention may be comprised of various means includingentirely of hardware, entirely of software, or any combination ofsoftware and hardware. Furthermore, embodiments of the present inventionmay take the form of a computer program product on a computer-readablestorage medium having computer-readable program instructions (e.g.,computer software) embodied in the storage medium. Any suitablecomputer-readable storage medium may be utilized including hard disks,CD-ROMs, optical storage devices, or magnetic storage devices.

Exemplary embodiments of the present invention have been described abovewith reference to block diagrams and flowchart illustrations of methods,apparatuses (i.e., systems) and computer program products. It will beunderstood that each block of the block diagrams and flowchartillustrations, and combinations of blocks in the block diagrams andflowchart illustrations, respectively, can be implemented by variousmeans including computer program instructions. These computer programinstructions may be loaded onto a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions which execute on thecomputer or other programmable data processing apparatus create a meansfor implementing the functions specified in the flowchart block orblocks.

These computer program instructions may also be stored in acomputer-readable memory that can direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablememory produce an article of manufacture including computer-readableinstructions for implementing the function specified in the flowchartblock or blocks. The computer program instructions may also be loadedonto a computer or other programmable data processing apparatus to causea series of operational steps to be performed on the computer or otherprogrammable apparatus to produce a computer-implemented process suchthat the instructions that execute on the computer or other programmableapparatus provide steps for implementing the functions specified in theflowchart block or blocks.

Accordingly, blocks of the block diagrams and flowchart illustrationssupport combinations of means for performing the specified functions,combinations of steps for performing the specified functions and programinstruction means for performing the specified functions. It will alsobe understood that each block of the block diagrams and flowchartillustrations, and combinations of blocks in the block diagrams andflowchart illustrations, can be implemented by special purposehardware-based computer systems that perform the specified functions orsteps, or combinations of special purpose hardware and computerinstructions.

Many modifications and other embodiments of the inventions set forthherein will come to mind to one skilled in the art to which theseexemplary embodiments of the invention pertain having the benefit of theteachings presented in the foregoing descriptions and the associateddrawings. Therefore, it is to be understood that the embodiments of theinvention are not to be limited to the specific embodiments disclosedand that modifications and other embodiments are intended to be includedwithin the scope of the appended claims. Although specific terms areemployed herein, they are used in a generic and descriptive sense onlyand not for purposes of limitation.

That which is claimed:
 1. A method comprising: evaluating theinformation content of a primary picture in a video data sequence bycalculating a metric characterizing a sensitivity level to transmissionloss of the primary picture; comparing the metric to one or morethreshold values; and based on the result of the comparing of the metricto the one or more threshold values, selecting a first number ofredundant pictures or a second number of redundant pictures to associatewith the primary picture; wherein the information content of eachredundant picture corresponds to the information content of at least aportion of the primary picture; and wherein the metric characterizing asensitivity level comprises one of a mean absolute motion vector valueassociated with the primary picture and a potential error propagationdistortion associated with the primary picture.
 2. The method of claim1, wherein the comparing step comprises: comparing the metric with aplurality of threshold values; and wherein the selecting step comprises:selecting the first number of redundant pictures to associate with theprimary picture responsive to the metric not exceeding a first one ofthe plurality of threshold values; and selecting the second number ofredundant pictures responsive to the largest threshold value exceeded bythe metric.
 3. The method of claim 1, wherein the first number ofredundant pictures is zero.
 4. The method of claim 1, furthercomprising: repeating the evaluating, comparing, and selecting steps fora plurality of primary pictures in the video data sequence.
 5. Anelectronic device comprising: a processor; and a memory in communicationwith the processor, the memory storing an application executable by theprocessor, wherein the application is configured, upon execution, to:evaluate the information content of a primary picture in a video datasequence by calculating a metric characterizing a sensitivity level totransmission loss of the primary picture; compare the metric to one ormore threshold values; and based on the result of the comparison, selecta first number of redundant pictures or a second number of redundantpictures to associate with the primary picture, wherein the informationcontent of each redundant picture corresponds to the information contentof at least a portion of the primary picture; and wherein the metriccharacterizing a sensitivity level comprises one of a mean absolutemotion vector value associated with the primary picture and a potentialerror propagation distortion associated with the primary picture.
 6. Thedevice of claim 5, wherein the application is configured to compare themetric to the one or more threshold values by: comparing the metric witha plurality of threshold values; and wherein the application isconfigured to select a first or second number of redundant pictures by:selecting the first number of redundant pictures to associate with theprimary picture responsive to the metric not exceeding a first one ofthe plurality of threshold values; and selecting the second number ofredundant pictures responsive to the largest threshold value exceeded bythe metric.
 7. The device of claim 5, wherein the first number ofredundant pictures is zero.
 8. The device of claim 5, wherein theapplication is configured to repeat the evaluating, comparing, andselecting for a plurality of primary pictures in the video datasequence.
 9. A non-transitory computer-readable storage mediumcontaining program instructions, the program instructions operable, whenexecuted on one or more processors to: evaluate the information contentof a primary picture in a video data sequence by calculating a metriccharacterizing a sensitivity level to transmission loss of the primarypicture; compare the metric to one or more threshold values; and basedon the result of the comparison, selecting between a first number ofredundant pictures and a second number of redundant pictures toassociate with the primary picture, wherein the information content ofeach redundant picture corresponds to the information content of atleast a portion of the primary picture; and wherein the metriccharacterizing a sensitivity level comprises one of a mean absolutemotion vector value associated with the primary picture and a potentialerror propagation distortion associated with the primary picture. 10.The non-transitory computer-readable storage medium of claim 9, whereinthe program instructions are operable to compare the metric to the oneor more threshold values by: comparing the metric with a plurality ofthreshold values; and wherein the program instructions are operable toselect a first or second number of redundant pictures by: selecting thefirst number of redundant pictures to associate with the primary pictureresponsive to the metric not exceeding a first one of the plurality ofthreshold values; and selecting the second number of redundant picturesresponsive to the largest threshold value exceeded by the metric. 11.The non-transitory computer-readable storage medium of claim 9, whereinthe first number of redundant pictures is zero.
 12. The non-transitorycomputer-readable storage medium of claim 9, wherein the programinstructions are operable to repeat the evaluating, comparing, andselecting for a plurality of primary pictures in the video datasequence.